
¶类与对象

¶三大特征
面向对象四大特征: 封装、继承、多态.

¶Object类和包装类
¶equals
1 | Student st1 = new Student("小明",12); |
大家都知道引用数据类型变量保存的是地址值,equals()方法比较是对象的内容,上述两组代码比较的内容一样,为啥结果却不一样,不要着急,我们首先看看Object类中的equals方法的源码
1 | public boolean equals(Object obj) { |
观看源码才发现,Object类中的equals方法实际上比较的是地址值,Object类是根父类,而Student类并没有重写equals方法.所以st1 不等于st2.
1 | public boolean equals(Object anObject) { |
由于String类对Object类的equals方法进行重写,确立比较每一个字符相等.所以s1 == s2.
¶自定义类重写equals方法
1 | public boolean equals(Object obj){ |

¶接口与抽象

